package utils.drawSplitScreenImage;

import utils.screenCtrl.WindowStatus;

import java.util.List;

/**
 * 子类：DrawSplitScreenImageGraphics2D
 * 子类调用事例 -- DrawSplitScreenImageGraphics2D.drawImageStatic() -- new DrawSplitScreenImageGraphics2D().drawImage()
 */
public interface DrawSplitScreenImage {
    /**
     * @param path 图片的路径
     * @param windowStatuses {@code List<WindowStatus>} 输入窗口信息
     * @param deskWindowStatus 桌面的状态信息
     * @return String 返回生成图片的路径
     * @throws Exception 当图片的父路径（存储图片的文件夹不存在时返回异常）
     * 调用事例： drawImage("/home/usr/test.png",windowStatuses);
     */
    String drawImage(String path,List<WindowStatus> windowStatuses,WindowStatus deskWindowStatus) throws Exception;

    /**
     * @param parent 图片的父路径
     * @param name 图片名
     * @param windowStatuses {@code List<WindowStatus>} 输入窗口信息
     * @param deskWindowStatus 桌面的状态信息
     * @return String 返回生成图片的路径
     * @throws Exception 当图片的父路径（存储图片的文件夹不存在时返回异常）
     * 调用事例： drawImage("/home/usr","test.png",windowStatuses);
     */
    String drawImage(String parent,String name,List<WindowStatus> windowStatuses,WindowStatus deskWindowStatus) throws Exception;
}
